LISP=@LISP_PROGRAM@
MAKEINFO=@MAKEINFO@

sbcl_BUILDOPTS=--load ./make-image.lisp
sbcl_INFOOPTS=--eval "(progn (load \"load-stumpwm.lisp\") (load \"manual.lisp\"))" --eval "(progn (stumpwm::generate-manual) (sb-ext:quit))"
sbcl_TESTOPTS=--eval "(progn (load \"load-stumpwm.lisp\") (asdf:load-system :stumpwm-tests))" --eval "(if (fiasco:all-tests) (uiop:quit 0) (uiop:quit 1))"

datarootdir = @datarootdir@
prefix=@prefix@
exec_prefix= @exec_prefix@
bindir=@bindir@
infodir=@infodir@

# You shouldn't have to edit past this

FILES=stumpwm.asd $(shell grep -o ":file \".*\"" stumpwm.asd | sed 's,:file ",,g' | sed 's,",.lisp,g' )

all: stumpwm stumpwm.info

travis: stumpwm test
stumpwm.info: stumpwm.texi
	test "$(MAKEINFO)" = "no" || $(MAKEINFO) stumpwm.texi

# FIXME: This rule is too hardcoded
stumpwm.texi: stumpwm.texi.in
	$(LISP) $(@LISP@_INFOOPTS)

stumpwm: $(FILES)
	$(LISP) $(@LISP@_BUILDOPTS)
test:
	$(LISP) $(@LISP@_TESTOPTS)

clean:
	rm -f *.fasl *.fas *.lib *.*fsl
	rm -f *.log *.fns *.fn *.aux *.cp *.ky *.log *.toc *.pg *.tp *.vr *.vrs
	rm -f stumpwm stumpwm.texi stumpwm.info

install: stumpwm.info stumpwm
	test -z "$(destdir)$(bindir)" || mkdir -p "$(destdir)$(bindir)"
	install -m 755 stumpwm "$(destdir)$(bindir)"
	test -z "$(destdir)$(infodir)" || mkdir -p "$(destdir)$(infodir)"
	test "$(MAKEINFO)" = "no" || install -m 644 stumpwm.info "$(destdir)$(infodir)"
	test "$(MAKEINFO)" = "no" || install-info --info-dir="$(destdir)$(infodir)" "$(destdir)$(infodir)/stumpwm.info"
install-modules:
	git clone https://github.com/stumpwm/stumpwm-contrib.git ~/.stumpwm.d/modules
uninstall:
	rm "$(destdir)$(bindir)/stumpwm"
	install-info --info-dir="$(destdir)$(infodir)" --remove "$(destdir)$(infodir)/stumpwm.info"
	rm "$(destdir)$(infodir)/stumpwm.info"

# End of file
